home *** CD-ROM | disk | FTP | other *** search
/ Distant Suns - First Light / Distant Suns First Light Version 1.0 (Geosphere).ISO / vfw11e / mscpydis.in_ / mscpydis.bin
Text File  |  1993-11-18  |  7KB  |  261 lines

  1. '**************************************************************************
  2. '********************  Setup Copy Disincentive API's  *********************
  3. '**************************************************************************
  4.  
  5. '' System Dialog IDs
  6. CONST CDALREADYUSED  = 7100
  7. CONST CDBADFILE      = 7200
  8. CONST CDCONFIRMINFO  = 7300
  9. CONST CDGETNAME      = 7400
  10. CONST CDGETNAMEORG   = 7500
  11. CONST CDGETORG       = 7600
  12. CONST CDBADNAME      = 7700
  13. CONST CDBADORG       = 7800
  14.  
  15. DECLARE FUNCTION FInitSystem1 LIB "mscpydis.dll" (did%, sz$, fNet%) AS INTEGER
  16. DECLARE FUNCTION FInitSystem3 LIB "mscpydis.dll" (did%, sz$, fAlways%) AS INTEGER
  17. DECLARE FUNCTION FCloseSystem LIB "mscpydis.dll" (szSect$, szKey$, szDst$, wResType%, wResId%) AS INTEGER
  18.  
  19.  
  20. '*************************************************************************
  21. '****************  Setup Basic Wrapper Declarations  *********************
  22. '*************************************************************************
  23.  
  24. DECLARE FUNCTION InitSystemRead  (did%, sz$, fNet%) AS INTEGER
  25. DECLARE FUNCTION InitSystemWrite (did%, sz$, fAlways%) AS INTEGER
  26. DECLARE SUB CloseSystem (szSect$, szKey$, szDst$, wResType%, wResId%)
  27.  
  28. DECLARE FUNCTION InitSystem (did%, sz$, fNet%) AS INTEGER
  29. DECLARE FUNCTION InitSystemDlgs  (fNet%) AS INTEGER
  30. DECLARE SUB BadNameOrg(dlg%)
  31. DECLARE FUNCTION NameOrgOkay (dlg%, szName$, szOrg$) AS INTEGER
  32.  
  33. '**************************************************************************
  34. FUNCTION InitSystemRead (did%, sz$, fNet%) STATIC AS INTEGER
  35. '$ifdef DEBUG
  36.     n% = 0
  37.     IF (did% < 1) OR (did% > 999) THEN
  38.         n% = 1
  39.     ELSEIF (sz$ <> "") AND (INSTR(sz$,"\") <> 0) THEN
  40.         n% = 2
  41.     END IF
  42.  
  43.     IF n% > 0 THEN
  44.         BadArgErr n%, "InitSystemRead", STR$(did%)+", "+sz$+", "+STR$(fNet%)
  45.     END IF
  46. '$endif ''DEBUG
  47.     InitSystemRead = FInitSystem1(did%, sz$, fNet%)
  48. END FUNCTION
  49.  
  50.  
  51. '**************************************************************************
  52. FUNCTION InitSystemWrite (did%, sz$, fAlways%) STATIC AS INTEGER
  53. '$ifdef DEBUG
  54.     n% = 0
  55.     IF (did% < 1) OR (did% > 999) THEN
  56.         n% = 1
  57.     ELSEIF sz$ <> "" AND INSTR(sz$,"\") <> 0 THEN
  58.         n% = 2
  59.     END IF
  60.  
  61.     IF n% > 0 THEN
  62.         BadArgErr n%, "InitSystemWrite", STR$(did%)+", "+sz$+", "+STR$(fAlways%)
  63.     END IF
  64. '$endif ''DEBUG
  65.     InitSystemWrite = FInitSystem3(did%, sz$, fAlways%)
  66. END FUNCTION
  67.  
  68.  
  69. '*************************************************************************
  70. SUB CloseSystem (szSect$, szKey$, szDst$, wResType%, wResId%) STATIC
  71. '$ifdef DEBUG
  72.     IF FValidInfSect(szSect$) = 0 THEN
  73.         n% = 1
  74.     ELSEIF szKey$ = "" THEN
  75.         n% = 2
  76.     ELSEIF FValidFATDir(szDst$) = 0 THEN
  77.         n% = 3
  78.     ELSE
  79.         n% = 0
  80.     END IF
  81.     IF n% > 0 THEN
  82.         BadArgErr n%, "CloseSystem", szSect$+", "+szKey$+", "+szDst$+", "+STR$(wResType%)+", "+STR$(wResId%)
  83.     END IF
  84. '$endif ''DEBUG
  85.  
  86.     IF FCloseSystem (szSect$, szKey$, szDst$, wResType%, wResId%) = 0 THEN
  87. '$ifdef DEBUG
  88.         StfApiErr saeFail, "CloseSystem", szSect$+", "+szKey$+", "+szDst$+", "+STR$(wResType%)+", "+STR$(wResId%)
  89. '$endif ''DEBUG
  90.         ERROR STFERR
  91.     END IF
  92. END SUB
  93.  
  94.  
  95.  
  96.  
  97.  
  98. '**************************************************************************
  99. FUNCTION InitSystem (did%, sz$, fNet%) STATIC AS INTEGER
  100.     IF InitSystemRead(did%, sz$, fNet%) = 0 THEN
  101.         InitSystem = 0
  102.     ELSEIF InitSystemDlgs(fNet%) = 0 THEN
  103.         InitSystem = 0
  104.     ELSEIF InitSystemWrite(did%, sz$, 0) = 0 THEN
  105.         InitSystem = 0
  106.     ELSE
  107.         InitSystem = 1
  108.     END IF
  109. END FUNCTION
  110.  
  111.  
  112.  
  113. '**************************************************************************
  114. FUNCTION InitSystemDlgs (fNet%) STATIC AS INTEGER
  115.  
  116.     fOkay%  = 0
  117.     CDDLL$  = "mscuistf.dll"
  118.     szName$ = GetSymbolValue("STF_CD_NAME")
  119.     szOrg$  = GetSymbolValue("STF_CD_ORG")
  120.     sz$ = MID$(GetSymbolValue("STF_CD_TYPE"), 1, 1)
  121.  
  122.     IF sz$ = "N" THEN
  123.         IF fNet <> 0 THEN
  124.             GOTO ISDN1
  125.         ELSE
  126.             GOTO ISDN2
  127.         END IF
  128.     ELSEIF (sz$ = "U") OR (sz$ = "O") THEN
  129.         GOTO ISDU
  130.     ELSEIF sz$ = "W" THEN
  131.         GOTO ISDA
  132.     ELSE
  133.         GOTO ISDB
  134.     END IF
  135.  
  136. ISDN1:
  137.     SetSymbolValue "EditTextIn", ""
  138.     SetSymbolValue "EditFocus", ""
  139. ISDN1L1:
  140.     sz$ = UIStartDlg(CDDLL$, CDGETORG, "FEditDlgProc", 0, "")
  141.  
  142.     IF sz$ = "CONTINUE" THEN
  143.         szOrg$ = RTRIM$(LTRIM$(GetSymbolValue("EditTextOut")))
  144.         IF szOrg$ = "" THEN
  145.             BadNameOrg CDBADORG
  146.             GOTO ISDN1L1
  147.         END IF
  148.         IF NameOrgOkay(CDCONFIRMINFO, szOrg$, "") = 0 THEN
  149.             GOTO ISDN1L1
  150.         END IF
  151.         SetSymbolValue "STF_CD_ORG", szOrg$
  152.         fOkay% = 1
  153.     ELSEIF sz$ = "REACTIVATE" THEN
  154.         GOTO ISDN1L1
  155.     ELSE
  156.         SetSymbolValue "STF_CD_TYPE", "ERROR"
  157.     END IF
  158.     UIPop 1
  159.     GOTO ISDEND
  160.  
  161. ISDN2:
  162.     sz$ = UIStartDlg(CDDLL$, CDGETNAMEORG, "FNameOrgDlgProc", 0, "")
  163.  
  164.     IF sz$ = "CONTINUE" THEN
  165.         szName$ = RTRIM$(LTRIM$(GetSymbolValue("NameOut")))
  166.         szOrg$  = RTRIM$(LTRIM$(GetSymbolValue("OrgOut")))
  167.         IF szName$ = "" THEN
  168.             BadNameOrg CDBADNAME
  169.             GOTO ISDN2
  170.         END IF
  171.         IF szOrg$ = "" THEN
  172.             szOrg$ = " "
  173.         END IF
  174.         IF NameOrgOkay(CDCONFIRMINFO, szName$, szOrg$) = 0 THEN
  175.             GOTO ISDN2
  176.         END IF
  177.         SetSymbolValue "STF_CD_NAME", szName$
  178.         SetSymbolValue "STF_CD_ORG", szOrg$
  179.         fOkay% = 1
  180.     ELSE
  181.         SetSymbolValue "STF_CD_TYPE", "ERROR"
  182.     END IF
  183.     UIPop 1
  184.     GOTO ISDEND
  185.  
  186. ISDU:
  187.     fOkay% = NameOrgOkay(CDALREADYUSED, szName$, szOrg$)
  188.     GOTO ISDEND
  189.  
  190. ISDA:
  191.     SetSymbolValue "EditTextIn", ""
  192.     SetSymbolValue "EditFocus", ""
  193. ISDAL1:
  194.     sz$ = UIStartDlg(CDDLL$, CDGETNAME, "FEditDlgProc", 0, "")
  195.  
  196.     IF sz$ = "CONTINUE" THEN
  197.         szName$ = RTRIM$(LTRIM$(GetSymbolValue("EditTextOut")))
  198.         IF szName$ = "" THEN
  199.             BadNameOrg CDBADNAME
  200.             GOTO ISDAL1
  201.         END IF
  202.         IF NameOrgOkay(CDCONFIRMINFO, szName$, "") = 0 THEN
  203.             GOTO ISDAL1
  204.         END IF
  205.         SetSymbolValue "STF_CD_NAME", szName$
  206.         fOkay% = 1
  207.     ELSEIF sz$ = "REACTIVATE" THEN
  208.         GOTO ISDAL1
  209.     ELSE
  210.         SetSymbolValue "STF_CD_TYPE", "ERROR"
  211.     END IF
  212.     UIPop 1
  213.     GOTO ISDEND
  214.  
  215. ISDB:
  216.     sz$ = UIStartDlg(CDDLL$, CDBADFILE, "FInfoDlgProc", 0, "")
  217.  
  218.     IF sz$ = "CONTINUE" THEN
  219.         fOkay% = 1
  220.     END IF
  221.     UIPop 1
  222.     GOTO ISDEND
  223.  
  224. ISDEND:
  225.     InitSystemDlgs = fOkay%
  226.     CDDLL$  = ""
  227.     szName$ = ""
  228.     szOrg$  = ""
  229.     sz$     = ""
  230. END FUNCTION
  231.  
  232.  
  233.  
  234. '**************************************************************************
  235. SUB BadNameOrg(dlg%) STATIC
  236. BNOL1:
  237.     sz$ = UIStartDlg("mscuistf.dll", dlg%, "FInfoDlgProc", 0, "")
  238.     UIPop 1
  239.     sz$ = ""
  240. END SUB
  241.  
  242.  
  243. '**************************************************************************
  244. FUNCTION NameOrgOkay (dlg%, szName$, szOrg$) STATIC AS INTEGER
  245.     RemoveSymbol "ConfirmTextIn"
  246.     AddListItem "ConfirmTextIn", szName$
  247.     AddListItem "ConfirmTextIn", szOrg$
  248. ILOL1:
  249.     sz$ = UIStartDlg("mscuistf.dll", dlg%, "FConfirmDlgProc", 0, "")
  250.  
  251.     IF sz$ = "CONTINUE" THEN
  252.         NameOrgOkay = 1
  253.     ELSE
  254.         NameOrgOkay = 0
  255.     END IF
  256.     UIPop 1
  257.     sz$ = ""
  258. END FUNCTION
  259.  
  260.  
  261.